package com.hiyee.pojo;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Date;

@Table(name = "b2c_customer")
public class Customer extends BasePojo{
    /**
     * 表ID
     */
    @Id
    @Column(name = "customer_id")
    private Long customerId;

    /**
     * 会员编码
     */
    @Column(name = "customer_bn")
    private String customerBn;

    /**
     * 会员昵称
     */
    private String nickname;

    /**
     * 头像
     */
    @Column(name = "avatar_url")
    private String avatarUrl;

    /**
     * 会员真实姓名
     */
    private String realname;

    /**
     * 会员邮箱
     */
    private String email;

    /**
     * 会员手机号
     */
    private String mobile;

    /**
     * 用户名
     */
    private String username;

    /**
     * 密码哈希串
     */
    private String password;

    /**
     * 密码加密密钥
     */
    private String secret;

    /**
     * 会员性别
     */
    private Integer gender;

    /**
     * 所属商铺ID
     */
    @Column(name = "store_id")
    private Long storeId;

    /**
     * 会员群组
     */
    @Column(name = "group_id")
    private Integer groupId;

    /**
     * 会员等级
     */
    @Column(name = "grade_id")
    private Integer gradeId;

    /**
     * 会员出生日期，2019-08-11
     */
    private String birthday;

    /**
     * 会员状态
     */
    private Integer status;

    /**
     * 会员身份类型
     */
    @Column(name = "customer_type")
    private Integer customerType;

    /**
     * 余额
     */
    private BigDecimal balance;

    /**
     * 会员账号可用，0停用；1可用
     */
    @Column(name = "is_active")
    private Integer isActive;

    /**
     * 最后登录时间
     */
    @Column(name = "last_login_at")
    private Date lastLoginAt;

    /**
     * 最后登录IP
     */
    @Column(name = "last_login_ip")
    private String lastLoginIp;

    /**
     * 软删除标识，1已删除
     */
    @Column(name = "is_deleted")
    private Integer isDeleted;

    /**
     * 审核时间
     */
    @Column(name = "checked_at")
    private Date checkedAt;

    /**
     * 注册方式
     */
    @Column(name = "register_type")
    private Integer registerType;

    /**
     * 创建时间
     */
    @Column(name = "created_at")
    private String createdAt;

    /**
     * 更新时间
     */
    @Column(name = "updated_at")
    private String updatedAt;

    /**
     * 获取表ID
     *
     * @return customer_id - 表ID
     */
    public Long getCustomerId() {
        return customerId;
    }

    /**
     * 设置表ID
     *
     * @param customerId 表ID
     */
    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    /**
     * 获取会员编码
     *
     * @return customer_bn - 会员编码
     */
    public String getCustomerBn() {
        return customerBn;
    }

    /**
     * 设置会员编码
     *
     * @param customerBn 会员编码
     */
    public void setCustomerBn(String customerBn) {
        this.customerBn = customerBn;
    }

    /**
     * 获取会员昵称
     *
     * @return nickname - 会员昵称
     */
    public String getNickname() {
        return nickname;
    }

    /**
     * 设置会员昵称
     *
     * @param nickname 会员昵称
     */
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    /**
     * 获取头像
     *
     * @return avatar_url - 头像
     */
    public String getAvatarUrl() {
        return avatarUrl;
    }

    /**
     * 设置头像
     *
     * @param avatarUrl 头像
     */
    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    /**
     * 获取会员真实姓名
     *
     * @return realname - 会员真实姓名
     */
    public String getRealname() {
        return realname;
    }

    /**
     * 设置会员真实姓名
     *
     * @param realname 会员真实姓名
     */
    public void setRealname(String realname) {
        this.realname = realname;
    }

    /**
     * 获取会员邮箱
     *
     * @return email - 会员邮箱
     */
    public String getEmail() {
        return email;
    }

    /**
     * 设置会员邮箱
     *
     * @param email 会员邮箱
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * 获取会员手机号
     *
     * @return mobile - 会员手机号
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * 设置会员手机号
     *
     * @param mobile 会员手机号
     */
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    /**
     * 获取用户名
     *
     * @return username - 用户名
     */
    public String getUsername() {
        return username;
    }

    /**
     * 设置用户名
     *
     * @param username 用户名
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * 获取密码哈希串
     *
     * @return password - 密码哈希串
     */
    public String getPassword() {
        return password;
    }

    /**
     * 设置密码哈希串
     *
     * @param password 密码哈希串
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * 获取密码加密密钥
     *
     * @return secret - 密码加密密钥
     */
    public String getSecret() {
        return secret;
    }

    /**
     * 设置密码加密密钥
     *
     * @param secret 密码加密密钥
     */
    public void setSecret(String secret) {
        this.secret = secret;
    }

    /**
     * 获取会员性别
     *
     * @return gender - 会员性别
     */
    public Integer getGender() {
        return gender;
    }

    /**
     * 设置会员性别
     *
     * @param gender 会员性别
     */
    public void setGender(Integer gender) {
        this.gender = gender;
    }

    /**
     * 获取所属商铺ID
     *
     * @return store_id - 所属商铺ID
     */
    public Long getStoreId() {
        return storeId;
    }

    /**
     * 设置所属商铺ID
     *
     * @param storeId 所属商铺ID
     */
    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    /**
     * 获取会员群组
     *
     * @return group_id - 会员群组
     */
    public Integer getGroupId() {
        return groupId;
    }

    /**
     * 设置会员群组
     *
     * @param groupId 会员群组
     */
    public void setGroupId(Integer groupId) {
        this.groupId = groupId;
    }

    /**
     * 获取会员等级
     *
     * @return grade_id - 会员等级
     */
    public Integer getGradeId() {
        return gradeId;
    }

    /**
     * 设置会员等级
     *
     * @param gradeId 会员等级
     */
    public void setGradeId(Integer gradeId) {
        this.gradeId = gradeId;
    }

    /**
     * 获取会员出生日期，2019-08-11
     *
     * @return brithday - 会员出生日期，2019-08-11
     */
    public String getBirthday() {
        return birthday;
    }

    /**
     * 设置会员出生日期，2019-08-11
     *
     * @param birthday 会员出生日期，2019-08-11
     */
    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    /**
     * 获取会员状态
     *
     * @return status - 会员状态
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置会员状态
     *
     * @param status 会员状态
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取会员身份类型
     *
     * @return customer_type - 会员身份类型
     */
    public Integer getCustomerType() {
        return customerType;
    }

    /**
     * 设置会员身份类型
     *
     * @param customerType 会员身份类型
     */
    public void setCustomerType(Integer customerType) {
        this.customerType = customerType;
    }

    /**
     * 获取余额
     *
     * @return balance - 余额
     */
    public BigDecimal getBalance() {
        return balance;
    }

    /**
     * 设置余额
     *
     * @param balance 余额
     */
    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    /**
     * 获取会员账号可用，0停用；1可用
     *
     * @return is_active - 会员账号可用，0停用；1可用
     */
    public Integer getIsActive() {
        return isActive;
    }

    /**
     * 设置会员账号可用，0停用；1可用
     *
     * @param isActive 会员账号可用，0停用；1可用
     */
    public void setIsActive(Integer isActive) {
        this.isActive = isActive;
    }

    /**
     * 获取最后登录时间
     *
     * @return last_login_at - 最后登录时间
     */
    public Date getLastLoginAt() {
        return lastLoginAt;
    }

    /**
     * 设置最后登录时间
     *
     * @param lastLoginAt 最后登录时间
     */
    public void setLastLoginAt(Date lastLoginAt) {
        this.lastLoginAt = lastLoginAt;
    }

    /**
     * 获取最后登录IP
     *
     * @return last_login_ip - 最后登录IP
     */
    public String getLastLoginIp() {
        return lastLoginIp;
    }

    /**
     * 设置最后登录IP
     *
     * @param lastLoginIp 最后登录IP
     */
    public void setLastLoginIp(String lastLoginIp) {
        this.lastLoginIp = lastLoginIp;
    }

    /**
     * 获取软删除标识，1已删除
     *
     * @return is_deleted - 软删除标识，1已删除
     */
    public Integer getIsDeleted() {
        return isDeleted;
    }

    /**
     * 设置软删除标识，1已删除
     *
     * @param isDeleted 软删除标识，1已删除
     */
    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    /**
     * 获取审核时间
     *
     * @return checked_at - 审核时间
     */
    public Date getCheckedAt() {
        return checkedAt;
    }

    /**
     * 设置审核时间
     *
     * @param checkedAt 审核时间
     */
    public void setCheckedAt(Date checkedAt) {
        this.checkedAt = checkedAt;
    }

    /**
     * 获取注册方式
     *
     * @return register_type - 注册方式
     */
    public Integer getRegisterType() {
        return registerType;
    }

    /**
     * 设置注册方式
     *
     * @param registerType 注册方式
     */
    public void setRegisterType(Integer registerType) {
        this.registerType = registerType;
    }

    /**
     * 获取创建时间
     *
     * @return created_at - 创建时间
     */
    public String getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置创建时间
     *
     * @param createdAt 创建时间
     */
    public void setCreatedAt(String createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取更新时间
     *
     * @return updated_at - 更新时间
     */
    public String getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置更新时间
     *
     * @param updatedAt 更新时间
     */
    public void setUpdatedAt(String updatedAt) {
        this.updatedAt = updatedAt;
    }
}